wakeup1 = scene {
   checkpoint   = true
  ,_wait        = false
  ,_stand       = 0
  ,obj          = {
                     "wakeup1_start"
                    ,"wakeup1_surround"
                    ,"wakeup1_floor"
                    ,"wakeup1_darkness"
                    ,"wakeup1_bed"
                    ,"wakeup1_eyes"
                    ,"wakeup1_hand"
                    ,"wakeup1_clothes"
                    ,"wakeup1_recall"
                    ,"wakeup1_someobject"
                    ,"wakeup1_pocket"
                    ,"cmn_legs"
                  }
  ,Refresh      = [[В этой комнате так темно, что я почти ничего не вижу. Или мои глаза и правда начинают меня подводить?]]
  ,ExamSelf     = choose_ {
                     ["default"] = 
                        chain_ {
                          set_("wakeup1_clothes._visible"),
                          [[На мне грубая светлая роба, похожая то ли на больничную, то ли на тюремную. На ногах -- 
                            лёгкие туфли на мягкой подошве. Я лежу в одежде. Но со мной всё в порядке -- на моём теле нет никаких 
                            ран, ничего не болит. Я просто обессилен.^
                            Я продолжаю осматривать свою робу -- возможно, она как-то поможет мне понять, где я нахожусь.]]
                        }
                    ,["wakeup1_clothes._visible"] = [[Достаточно уже разглядывать себя.]]
                  }
  ,Wait         = choose_ {
                     ["default"] =
                        chain_ {
                          set_("wakeup1._wait"),
                          [[Я закрываю глаза. Быть может, это лишь моё наваждение, ночной кошмар, в котором мне снится, что
                            меня сковал холодный паралич посреди чёрной космической пустоты? Нужно просто успокоиться. Так бывает
                            перед самым рассветом, когда сны становятся такими правдоподобными, почти осязаемыми, что их несложно 
                            спутать с реальностью. Нужно успокоиться -- и через яркое ослепительное мгновение я проснусь в своей
                            каюте на "Ахилле" под надоедливые гудки утренней сигнализации...^
                            Но я закрываю глаза, а странный морок не проходит. Если это и правда ночной кошмар, то мне не так-то
                            просто будет проснуться.]]
                        }
                    ,["wakeup1._wait or wakeup1._stand>0"] = 
                        [[Я должен сделать что-то. Я не могу просто ждать. Где я нахожусь?]]
                  }
  ,Stand        = choose_ {
                     ["default"] = [[Ноги не слушаются меня, как будто моё тело разбил паралич.]]
                    ,["wakeup1_someobject._examed and wakeup1._stand==0"] =
                        chain_ {
                          inc_("wakeup1._stand"), 
                          [[Я с трудом приподнимаюсь на кровати. Руки мои дрожат, странная тяжесть сжимает мне грудную клетку.
                            Кажется, что гравитация в десятки раз превышает земную, и эта невыносимая сила тяжести пытается раздавить
                            меня, переломать все мои кости. Но я не сдаюсь. Ноги по-прежнему не слушаются меня, но я сталкиваю их с
                            кровати на холодный металлический пол.^
                            И вот я уже сижу, сгорбившись, на самом краю постели. Правая ступня моя заломилась, как у тряпичной
                            куклы, и я даже не могу пошевелить пальцами на ногах. Но я должен встать. Нужен лишь один рывок.]]
                        }
                    ,["wakeup1._stand==1"] = 
                        chain_ {
                          inc_("wakeup1._stand"),
                          [[У меня получается немного сдвинуть правую ногу -- я сгибаю её в колене и тут же удерживаю
                            рукой. Икроножную мышцу сводит судорогой, и я издаю невольный стон от боли. Однако силы
                            постепенно возвращаются ко мне. Я делаю глубокий вздох -- и, кажется, втягиваю в себя весь
                            воздух, оставшийся в этой комнате -- отталкиваюсь руками от кровати и -- поднимаюсь!^
                            Целую секунду я стою, выпрямившись во весь рост, но потом ноги мои подкашиваются, и я падаю на
                            металлический пол.]]
                        }
                    ,["wakeup1._stand==2"] =
                        chain_ {
                          inc_("wakeup1._stand"),
                          [[Я приподнимаюсь, упираясь в пол трясущимися руками.^
                            Встаю на колени.^
                            Осталось совсем немного -- я должен подняться на ноги, должен встать. Я взмахиваю правой рукой, пытаясь найти
                            какую-нибудь опору, но кровать, на которой я лежал, куда-то исчезла. Темнота вокруг становится всё гуще.
                            Я делаю рывок, пытаясь подняться, но правую ногу вновь сводит судорогой, и я падаю на пол.]]
                        }
                    ,["wakeup1._stand==3"] =
                        chain_ {
                          drop_("cube0"),
                          take_("cube1"),
                          walkfast2_("wakeup1trans")
                        }
                  }
  ,Exit         = [[Отсюда нет выхода. Меня окружает непроницаемая темнота.]]
  ,before_Default=chooset_ {
                     ["wakeup1_eyes"] = nilfn
                    ,["default"] =
                        choose_ {
                          ["not wakeup1_eyes._open"] =
                            rnd_ {
                              [[Сначала нужно открыть глаза.]],
                              [[Я должен попытаться открыть глаза, я не могу лежать так в неизвестности.]],
                              [[Хватит уже лежать здесь, с закрытыми глазами, в неизвестности. Мне нужно осмотреться.]],
                              [[Я должен сначала открыть глаза. Это так просто, надо лишь решиться.]]
                            }
                        }
                  }
}

wakeup1_start = rooms.dsc
  [[Я лежу с закрытыми глазами. Я чувствую себя, как после тысячелетнего криосна. Тело не слушается меня, мне даже тяжело поднять
    веки, и каждый вздох даётся мне с трудом, как будто из этой комнаты -- или где бы я ни находился -- медленно откачивают воздух.
    Надо попытаться открыть глаза.]]

wakeup1_surround = item {
   nam          = _"стены|потолок|комната"
  ,Exam         = [[Я ничего не могу разглядеть.]]
  ,cnd          = if_("wakeup1_eyes._open")
}:like(pPhenom)

wakeup1_hand = item {
   nam          = _"рука"
  ,Exam         = [[Мои пальцы дрожат.]]
  ,cnd          = if_("wakeup1_eyes._open")
}:like(pPhenom)

wakeup1_floor = item {
   nam          = _"пол"
  ,Exam         = choose_ {
                     ["default"] = [[Пол я совсем не вижу -- кажется, что сразу за моей кроватью начинается бездонная чёрная бездна.]]
                    ,["wakeup1._stand>1"] = [[Пол я совсем не вижу.]]
                  }
  ,Stand        = choose_ {
                     ["default"] = [[Я не лежу на полу.]]
                    ,["wakeup1._stand>1"] = redirect_("Stand", "wakeup1")
                  }
  ,Lie          = choose_ {
                     ["default"] = [[Зачем?]]
                    ,["wakeup1._stand>1"] = [[Нет, мне нужно подняться.]]
                  }
  ,Sit          = [[Зачем?]]
  ,cnd          = if_("wakeup1_eyes._open")
}:like(pFloor)

wakeup1_darkness = item {
   nam          = _"темнота"
  ,Exam         = [[Если долго вглядываться в эту темноту, то можно действительно ослепнуть.]]
  ,Approach     = [[Для начала я должен попытаться встать.]]
  ,Listen       = [[Меня окружает глухая сумрачная тишина.]]
  ,cnd          = if_("wakeup1_eyes._open")
}:like(pDark)

wakeup1_bed = item {
   nam          = _"кровать"
  ,Exam         = choose_ {
                     ["default"] = 
                        [[Я почти ничего не вижу, но то, на чем я лежу, похоже на жёсткую больничную койку. Я провожу рукой по 
                          простыне из какого-то гладкого синтетического материала -- кажется, из такой ткани делают мешки для 
                          покойников.]]
                    ,["wakeup1._stand>0"] = [[У меня нет времени разглядывать кровать, я должен встать на ноги.]]
                  }
  ,Stand        = choose_ {
                     ["default"] = [[Я не лежу на кровати.]]
                    ,["wakeup1._stand<2"] = redirect_("Stand", "wakeup1")
                  }
  ,Approach     = choose_ {
                     ["default"] = [[Я и так на кровати.]]
                    ,["wakeup1._stand>1"] = [[Я и так рядом с кроватью.]]
                  }
  ,Lie          = [[Нет, мне нужно встать на ноги.]]
  ,cnd          = if_("wakeup1_eyes._open")
}:like(pBed)

wakeup1_eyes = item {
   _open        = false
  ,nam          = _"глаза"
  ,Open         = choose_ {
                     ["default"] = 
                        chain_ {
                          set_("s._open"),
                          music_("macros"),
                          [[Я открываю глаза, и в первую секунду мне кажется, что я ослеп. Вокруг меня -- чёрная непроглядная
                            темнота, как сумрак тысячи земных ночей, как тьма космического пространства. Проходит несколько минут,
                            прежде чем глаза мои, наконец, немного привыкают к отсутствию света, и я начинаю что-то различать -- смутные
                            очертания, бледные тени, редкие, ускользающие от меня всполохи света. Вот, наконец, я уже почти вижу свои 
                            руки. Я поднимаю над головой кисть и замечаю, как мои пальцы трясутся.^
                            Что со мной произошло? Я пытаюсь осмотреть себя...]]
                        }
                    ,["s._open"] = [[Глаза мои и так открыты, но я по-прежнему почти ничего не вижу.]]
                  }
  ,Close        = choose_ {
                     ["default"] = [[Мои глаза закрыты.]]
                    ,["s._open"] = [[Нет, я должен осмотреться.]]
                  }
}:like(pEyes)

wakeup1_clothes = item {
   _visible     = false
  ,nam          = _"роба|~одежда"
  ,Exam         = choose_ {
                     ["wakeup1_someobject._visible"] = [[Больше в моей одежде ничего нет.]]
                    ,["default"] = 
                        chain_ {
                          set_("wakeup1_recall._visible"),
                          [[Я начинаю вспоминать, о чём мне напоминает эта неприятная липнущая к телу белесая роба -- в такие одеяния
                            из дешёвой экологической синтетики обычно наряжают мертвецов перед тем, как их сжечь. Производитель 
                            гарантирует, что при сжигании не выделяется никаких токсичных веществ -- а также износостойкость на протяжении 
                            нескольких минут.^ 
                            Я вздрагиваю, почувствовав, как тело моё сводит от чудовищного холода, пробирающего до самых костей.^
                            Я в морге? Я умер? Быть может, это и есть смерть -- медленное угасание сознания в окоченевшем теле, наряженном 
                            на погребальный костер. Я задыхаюсь -- здесь совсем нет воздуха, мёртвым ведь не требуется дышать.
                            Что-то судорожно сжимается у меня в груди, я пытаюсь приподняться на постели и чувствую резкую боль в мышцах --
                            как будто меня уже начинает бить агония.^
                            Что я помню? Где я был до этого? Я напрягаюсь. Надо попытаться восстановить в памяти последние события.]]
                        }
                  }
  ,TearOff      = [[Не представляю, зачем снимать с себя одежду. Здесь довольно холодно.]]
  ,cnd          = if_("s._visible")
}:like(pBasic)

wakeup1_recall = item {
   _done        = false
  ,_visible     = false
  ,nam          = _"последние события"
  ,Recall       = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._done"),
                          set_("wakeup1_someobject._visible"),
                          playonce_("orbit_alt"),
                          [[Мы были в рубке, на "Ахилле"...^
                            Да, сейчас эти картины встают передо мной с пугающей ясностью. Я подключён к нейроинтерфейсу корабля, передо
                            мной со скоростью мысли проносятся инфопотоки -- тело моё лежит в кресле, а сам я контролирую работу торсионных
                            двигателей в машинном отсеке, регулирую уровни щитов, рассчитываю траекторию манёвра...^
                            Но всё это занимает невыносимо долгое время -- целые миллисекунды. Я слишком медленный, как будто что-то во
                            мне дало непоправимый сбой, я знаю, что не успею, и что другие не помогут мне тоже, а мы уже вошли в поле
                            действия их сенсоров, и счёт идёт на мгновения...^
                            А потом -- пустота.^
                            Мы проиграли? Но тогда бы меня распылило на атомы, я не лежал бы здесь в костюме покойника, задыхаясь от
                            темноты.^
                            Нет, я не мёртв. Я не могу быть мёртв. Я чувствую, мыслю, я пытаюсь дышать, я могу поднять свою правую руку, 
                            я вижу, как мои пальцы дрожат. И этот больничный холод, который сковывает всё моё тело -- лишь мой
                            бесконтрольный панический страх.^
                            Я продолжаю осматривать свою неудобную одежду и вдруг нащупываю в правом кармане брюк какой-то предмет.]]
                      }
                    ,["s._done"] = [[Нет, больше я ничего не могу вспомнить.]]
                  }
  ,Invent       = [[Нет, я должен попытаться вспомнить.]]
  ,Think        = redirect_("Recall")
  ,cnd          = if_("s._visible")
}:like(pThink)

wakeup1_someobject = item {
   _visible     = false
  ,_examed      = false
  ,nam          = _"предмет"
  ,Exam         = chain_ {
                    set_("s._examed"),
                    take_("cube0"),
                    playonce_("horn"),
                    [[Странно. Это просто пластиковый куб. На нём нет никаких отверстий, кнопок или индикаторов -- ничего. Я несколько минут
                      ощупываю куб, сжимаю его в руках, проверяю на вес. Судя по всему, это просто кусок пластика, не больше. Но зачем?
                      Я подношу куб как можно ближе к глазам, напрягаю зрение.^
                      По-прежнему ничего.^
                      Кажется, куб жёлтого цвета, но даже в этом я не уверен.^
                      Впрочем, сейчас игрушка из пластика мне ничем не поможет. Я всё ещё не понимаю, где я. И ноги всё также не слушаются меня.
                      Нужно попробовать встать, нужно подняться с этой жёсткой кровати.]]
                  }
  ,TakeFrom     = use_ {
                     ["default"] = "Не представляю, как это можно сделать."
                    ,["nil"] = redirect_("Exam")
                    ,["wakeup1_pocket"] = redirect_("Exam")
                  }
  ,cnd          = if_("s._visible and not s._examed")
}:like(pItem)

wakeup1_pocket = from_("cmn_pocket") {
   nam          = _"карман"
  ,Exam         = redirect_("Exam", "wakeup1_someobject")
  ,cnd          = if_("wakeup1_someobject._visible and not wakeup1_someobject._examed")
}

cube0 = item {
   nam          = _"куб"
  ,Exam         = [[Просто пластиковый куб. Непонятно, зачем он нужен -- и как оказался в моём кармане.]]
  ,Wreck        = [[Куб довольно прочный. Я изо всех сил сжимаю его в руке, но ничего не происходит.]]
  ,Throw        = [[Нет, я не хочу выбрасывать его. Сейчас этот кусок пластика -- всё, что у меня есть.]]
  ,Put          = redirect_("Throw")
}:like(pItem)

wakeup1trans = pause {
   enter        = music_("exclaim")
  ,time         = 4000
  ,next         = "wakeup2"
}
